// 调试启动脚本 - 用于测试服务器启动
const { spawn } = require('child_process');
const path = require('path');
const fs = require('fs');

console.log('=== 调试启动脚本 ===');
console.log('当前工作目录:', process.cwd());
console.log('__dirname:', __dirname);

const serverPath = path.join(__dirname, 'src', 'server.js');
console.log('服务器文件路径:', serverPath);
console.log('服务器文件是否存在:', fs.existsSync(serverPath));

if (fs.existsSync(serverPath)) {
  console.log('尝试启动服务器...');
  
  const serverProcess = spawn('node', [serverPath], {
    stdio: 'inherit',
    env: { ...process.env, PORT: '3001' },
    cwd: __dirname
  });

  serverProcess.on('error', (error) => {
    console.error('启动服务器时出错:', error);
  });

  serverProcess.on('close', (code) => {
    console.log(`服务器进程退出，退出码: ${code}`);
  });

  // 5秒后检查进程状态
  setTimeout(() => {
    console.log('服务器进程PID:', serverProcess.pid);
    console.log('服务器进程是否还在运行:', !serverProcess.killed);
  }, 5000);
} else {
  console.error('服务器文件不存在!');
  
  // 列出src目录的内容
  const srcDir = path.join(__dirname, 'src');
  if (fs.existsSync(srcDir)) {
    console.log('src目录内容:');
    fs.readdirSync(srcDir).forEach(file => {
      console.log('  -', file);
    });
  } else {
    console.log('src目录不存在');
  }
}